--- interact_link: content/berlin.ipynb kernel_name: python3 kernel_path: content has_widgets: false title: |- Berlin pagenum: 1 prev_page: url: /main.html next_page: url: /interactive.html suffix: .ipynb search: berlin data city periodically reported landesamt fr gesundheit und soziales www de corona fallstatistik council outbreak daily variation comment: "***PROGRAMMATICALLY GENERATED, DO NOT EDIT. SEE ORIGINAL FILES IN /content***" ---
Berlin

Data for Berlin

Data for the city of Berlin are periodically reported from the Landesamt für Gesundheit und Soziales of the Berlin Council.

# for plotly
from plotly.offline import iplot
from plotly.offline import init_notebook_mode, plot
from IPython.core.display import display, HTML
import plotly as py
import plotly.tools as tls

import datetime
import numpy as np
import pandas as pd
from hedera_covid import DataHandler, smooth_data, plot_death_rate, plot_daily_cases, plot_confirmed_cases

# load data
berlin_data = '../../DE-Data/data.csv'
berlin = pd.read_csv(berlin_data)
berlin.columns = ['date','confirmed','treated','intensive','deaths']

# preparation
N = len(berlin['date'])
dates = []
for d in berlin['date']:
    dt = datetime.datetime(int(d[6:10]),int(d[3:5]),int(d[0:2]))
    dates.append(dt.strftime('%d %b'))

confirmed_daily = []
deaths_daily = []

confirmed_daily.append(0)
deaths_daily.append(0)

for i in range(0,N-1):
    confirmed_daily.append(berlin['confirmed'][i+1]-berlin['confirmed'][i])
    deaths_daily.append(berlin['deaths'][i+1]-berlin['deaths'][i])
    
confirmed = smooth_data(berlin['confirmed'],n=7)
serious = smooth_data(berlin['intensive'],n=3)
deaths = smooth_data(berlin['deaths'],n=3)
treated = smooth_data(berlin['treated'],n=3) 

Outbreak over time

import plotly.graph_objects as go
init_notebook_mode(connected=True)

fig = go.Figure()


fig.add_trace(go.Bar(
    x=dates,
    y=confirmed,
    name='Reported Cases (Total = ' + str(berlin['confirmed'][N-1]) + ')'
))
fig.add_trace(go.Bar(
    x=dates,
    y=deaths,
    name='Reported Deaths (Total = ' + str(berlin['deaths'][N-1]) + ')'
))


fig.add_trace(go.Scatter(
    x=dates,
    y=serious,
    name='Intensive Care (Total = ' + str(berlin['intensive'][N-1]) + ')'
))
    
fig.update_layout(xaxis_tickangle=-90)

plot(fig, filename = 'figure.html')
display(HTML('figure.html'))

Daily variation

import plotly.graph_objects as go
init_notebook_mode(connected=True)

fig = go.Figure()


fig.add_trace(go.Bar(
    x=dates,
    y=confirmed_daily,
    name='Daily Reported Cases (Total = ' + str(berlin['confirmed'][N-1]) + ')',
    marker = {'color': "#117A65"}
))
n_smooth = 7
fig.add_trace(go.Scatter(
    x=dates,
    y=smooth_data(confirmed_daily,n=n_smooth),
    name='Averaged over ' + str(n_smooth) + ' days',
    marker = {'color': "#48C9B0"}
))


fig.add_trace(go.Bar(
    x=dates,
    y=deaths_daily,
    name='Daily Reported Deaths (Total = ' + str(berlin['deaths'][N-1]) + ')',
    marker = {'color':'#F7DC6F'}
))

n_smooth = 3
fig.add_trace(go.Scatter(
    x=dates,
    y=smooth_data(deaths_daily,n=n_smooth),
    name='Averaged over ' + str(n_smooth) + ' days',
    marker = {'color': "#EB984E"}
))
    
fig.update_layout(xaxis_tickangle=-90)

plot(fig, filename = 'figure.html')
display(HTML('figure.html'))